package br.ita.trucocearense.server.core;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class DeckCartas {
	private int valor;
	private int naipe;
	private String valorNaipe;
	private Map<Integer,String> map = new HashMap<Integer,String>();
	private ArrayList<Integer> num = new ArrayList<Integer>();
	
	public DeckCartas(){
		map.put(new Integer(1),"10");		
		map.put(new Integer(2),"21");		
		map.put(new Integer(3),"22");		
		map.put(new Integer(4),"23");		
		map.put(new Integer(5),"24");		
		map.put(new Integer(6),"31");		
		map.put(new Integer(7),"32");		
		map.put(new Integer(8),"33");		
		map.put(new Integer(9),"34");
		map.put(new Integer(10),"41");		
		map.put(new Integer(11),"42");		
		map.put(new Integer(12),"43");
		map.put(new Integer(13),"44");		
		map.put(new Integer(14),"51");		
		map.put(new Integer(15),"52");
		map.put(new Integer(16),"53");		
		map.put(new Integer(17),"54");		
		map.put(new Integer(18),"61");		
		map.put(new Integer(19),"62");		
		map.put(new Integer(20),"63");		
		map.put(new Integer(21),"64");		
		map.put(new Integer(22),"71");		
		map.put(new Integer(23),"72");		
		map.put(new Integer(24),"73");		
		map.put(new Integer(25),"74");		
		map.put(new Integer(26),"81");		
		map.put(new Integer(27),"82");		
		map.put(new Integer(28),"83");		
		map.put(new Integer(29),"84");		
		map.put(new Integer(30),"91");		
		map.put(new Integer(31),"92");		
		map.put(new Integer(32),"93");		
		map.put(new Integer(33),"94");		
		map.put(new Integer(34),"101");		
		map.put(new Integer(35),"102");		
		map.put(new Integer(36),"103");
		map.put(new Integer(37),"104");
		map.put(new Integer(38),"111");		
		map.put(new Integer(39),"112");		
		map.put(new Integer(40),"113");		
		map.put(new Integer(41),"114");
		for(int i = 1;i <=41;i++)
			num.add(new Integer(i));
	}	
	
	public Carta getManilha(){
		int randomIndex,valorManilha;
		String codigoManilha;
		do{
			randomIndex = (int)(Math.random() * num.size());
		} while (randomIndex == 0);
		codigoManilha = (String) map.get(num.get(randomIndex));
		num.remove(randomIndex);
		return new Carta(codigoManilha);
	}
	
	public Carta[] getCartas(Carta manilha){
		String[] codigoCarta = new String[3];
		for(int i = 0; i < 3; i++){
			int randomIndex = (int)(Math.random() * num.size());
			codigoCarta[i] = (String) map.get(num.get(randomIndex));
			num.remove(randomIndex);
		}
		Carta[] carta = new Carta[3];
		for(int i = 0; i < 3; i++)
			carta[i] = new Carta(codigoCarta[i],manilha);
		
		return carta;
	}
	
	
	/*
	Verso - 0
	Joke - 1 	
	4 	 - 2
	5 	 - 3
	6 	 - 4
	7 	 - 5
	Q 	 - 6
	J  	 - 7
	K 	 - 8
	A 	 - 9
	2 	 - 10
	3 	 - 11


	Sem naipe	- 0
	Ouros   	- 1
	Espada  	- 2
	Copas		- 3
	Paus		- 4
	*/
}
